package com.ruitu.mall_98_2.mvp.contract;

import com.beanu.arad.base.BaseModel;
import com.beanu.arad.base.BasePresenter;
import com.beanu.arad.base.BaseView;
import com.ruitu.router_module.bean.api.BaseResult;
import com.ruitu.router_module.bean.mine.AlipayInfo;

import java.io.File;

import okhttp3.MultipartBody;
import rx.Observable;

public interface BandingAlipayContract {
    interface Model extends BaseModel {

        Observable<BaseResult<AlipayInfo>> findAlipay(String id);

        Observable<BaseResult> bindAlipay(MultipartBody body);

        Observable<BaseResult> modifyAlipay(MultipartBody body);
    }

    interface View extends BaseView {
        void setBandingSuc();

        void setUpdateSuc();

        void setAlipayInfo(AlipayInfo alipayInfo);
    }

    abstract class Presenter extends BasePresenter<View, Model> {

        public abstract void findAlipay(String id);

        public abstract void bindAlipay(MultipartBody body);

        public abstract MultipartBody bindAlipay(String accountId, String alipayId, String alipayName, String wechatNumber, String wechatName, String realName,String openBank, String bankCard , File alipayIma,File wechatImg);

        public abstract MultipartBody modifyAlipay(String accountId, String alipayId, String alipayName, String reason, String wechatNumber, String wechatName, String realName,String openBank, String bankCard , File alipayIma,File wechatImg);

        public abstract void modifyAlipay(MultipartBody body);
    }
}
